package com.ddm.entity.webEntity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author horizon
 * @since 2025-01-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Builder
@NoArgsConstructor // 生成 public 无参构造
@AllArgsConstructor // 生成 public 全参构造（与 @Builder 配合）
@ApiModel(value="User对象", description="")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户表id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "用户名")
    private String userName;

    @ApiModelProperty(value = "头像url")
    private String photoUrl;

    @ApiModelProperty(value = "用户类型，0为普通用户，1为管理员，2是收费用户，3是vip用户")
    private Integer userType;

    @ApiModelProperty(value = "openid")
    private String openid;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "电话号码")
    private String phoneNum;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "逻辑删除字段，0为未删除，1为已删除")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "密码")
    private String password;


}
